1. Field of the Invention:
The present invention relates to a video simulation system, and more particularly to a method of and an apparatus for calculating the distance between characters displayed in a pseudo-three-dimensional space on a display monitor screen, a method of and an apparatus for applying a polygon to the plane of a polygon displayed in a pseudo-three-dimensional space on a display monitor screen, and a video simulator which incorporates such an apparatus.
2. Description of the Prior Art:
Various game apparatus which are capable of displaying a plurality of characters in a pseudo-three-dimensional space on a display monitor screen have been in widespread usage in recent years. In order to make video games played on such game apparatus attractive to game players, the game apparatus are required to have, among various functions, an ability to decide whether different displayed characters hit each other, e.g., whether a moving character such as a flight object flying in air contacts or hits a fixed character such as a mountain or ground. Heretofore, it has been customary to decide a character-to-character hit by roughly comparing the image data of a moving character and the image data of a fixed character with each other.
Recent years have seen requirements for higher-speed data processing and higher-resolution image display in game apparatus. To meet such requirements, recent game apparatus are capable of clearly displaying moving and fixed characters as they move closely to each other. The conventional rough data comparison process, however, is unable to keep up with the ability of the recent game apparatus to clearly display moving and fixed characters. Specifically, the rough data comparison process may decide that a moving character hits a fixed character though the moving character does not in fact contact or hit the fixed character, or, conversely, may decide that a moving character does not hit a fixed character though the moving character actually contacts or hits the fixed character. When such a wrong decision is made, the game player feels puzzled or embarrassed as the decision obviously differs from what is displayed on the display monitor screen.
Some simulation game apparatus capable of displaying a plurality of characters in a pseudo-three-dimensional space on a display monitor screen are equipped with structures which simulate a car, a ski, a surfboard, a motorboat, etc. Those simulation game apparatus which simulate a car or a motorboat have a driver""s seat, a steering wheel, an accelerator pedal, and a brake pedal among others. Those simulation game apparatus which simulate a ski have boards for placing feet thereon and two sticks, and those simulation game apparatus which simulate a surfboard have boards for placing feet thereon. Game players who play video games on the simulation game apparatus operate those structural members to manipulate a character displayed on the display monitor screen in order to, e.g., pass a competitor in a foreground displayed on the display monitor screen and avoid obstacles (including cars or boats controlled by a computer) displayed on the display monitor screen.
Another simulation game apparatus, which has been proposed to arose a greater interest of game players than the above simulation game apparatus, displays a flight object in a pseudo-three-dimensional space on the display monitor screen and allows the game player to control the displayed flight object to fly in the pseudo-three-dimensional space. This simulation game apparatus can be made more attractive to game players if a shadow of the flight object is projected onto another displayed object such as a displayed land.
The problems and demands described above are applicable to simulators which include simulation game apparatus.
It is an object of the present invention to provide a method of calculating the distance between a moving character and a fixed character which are displayed in a pseudo-three-dimensional space on a display monitor screen for thereby accurately deciding whether the moving character hits the fixed character or not.
Another object of the present invention to provide an apparatus for calculating the distance between a moving character and a fixed character which are displayed in a pseudo-three-dimensional space on a display monitor screen for thereby accurately deciding whether the moving character hits the fixed character or not.
Still another object of the present invention to provide a simulator which incorporate such a distance calculating apparatus.
A further object of the present invention to provide a method of applying polygons representative of a shadow of a flight object, for example, to polygons representative of a character such as a terrain shape.
A still further object of the present invention to provide an apparatus for applying polygons representative of a shadow of a flight object, for example, to polygons representative of a character such as a terrain shape.
A yet still further object of the present invention to provide a simulator which incorporates such a polygon applying apparatus.
According to an aspect of the present invention, there is provided a method of calculating a distance between a moving character displayed in a pseudo-three-dimensional space on a display monitor screen and a fixed character composed of a plurality of polygons displayed in the pseudo-three-dimensional space on the display monitor screen. The method comprises the steps of identifying a polygon containing a point of planar coordinates representing the position of the moving character, and calculating a distance between the moving character and the polygon which has been identified. In the first step, a polygon containing a point of planar coordinates representing the position of the moving character is identified. In the second step, a distance between the moving character and the polygon which has been identified is calculated.
The polygon is of a triangular shape, and a polygon is identified which satisfies the conditions of sxe2x89xa70, txe2x89xa70, and s+txe2x89xa71 in the equation: p=(sxc3x97a)+(txc3x97b) where p represents a vector directed from a reference vertex of the polygon toward the point of planar coordinates contained in the polygon, a, b represent respective vectors directed from the reference vertex of the polygon toward respective other vertexes of the polygon, and s, t represent respective coefficients of the vectors a, b.
In the second step, a distance y between the moving character and the polygon which has been identified is calculated according to the equation:
y=nx(Pxxe2x88x92Ox)+ny(Pyxe2x88x92Oy)+nz(Pzxe2x88x92Oz)
where nx, ny, nz represents components respectively along X-, Y-, and Z-axes of a vector n normal to the polygon, Px, Py, Pz represent coordinates respectively along the X-, Y-, and Z-axes of the position of the moving character, and Ox, Oy, Oz represent coordinates respectively along the X-, Y-, and Z-axes of a predetermined point O on a plane which contains the polygon. The predetermined point O comprises a reference vertex of the polygon.
The fixed character comprises a plurality of blocks arranged in vertical and horizontal arrays, each of the blocks comprising a plurality of polygons. Prior to the step of identifying a polygon, one of the blocks which confronts the moving character is identified.
According to another aspect of the present invention, there is provided an apparatus for calculating a distance between a moving character displayed in a pseudo-three-dimensional space on a display monitor screen and a fixed character composed of a plurality of polygons displayed in the pseudo-three-dimensional space on the display monitor screen. The apparatus comprises first means for identifying a polygon containing a point of planar coordinates representing the position of the moving character, and second means for calculating a distance between the moving character and the polygon which has been identified by the first means. The first means identifies a polygon containing a point of planar coordinates representing the position of the moving character. The second means calculates a distance between the moving character and the polygon which has been identified by the first means.
The polygon is of a triangular shape. The first means identifies a polygon which satisfies the conditions of sxe2x89xa70, txe2x89xa70, and s+txe2x89xa71 in the equation: p=(sxc3x97a)+(txc3x97b) where p represents a vector directed from a reference vertex of the polygon toward the point of planar coordinates contained in the polygon, a, b represent respective vectors directed from the reference vertex of the polygon toward respective other vertexes of the polygon, and s, t represent respective coefficients of the vectors a, b. The second means calculates a distance y between the moving character and the polygon which has been identified, according to the equation:
y=nx(Pxxe2x88x92Ox)+ny(Pyxe2x88x92Oy)+nz(Pzxe2x88x92Oz)
where nx, ny, nz represent components respectively along X-, Y-, and Z-axes of a vector n normal to the polygon, Px, Py, Pz represent coordinates respectively along the X-, Y-, and Z-axes of the position of the moving character, and Ox, Oy, oz represent coordinates respectively along the X-, Y-, and Z-axes of a predetermined point O on a plane which contains the polygon.
According to still another aspect of the present invention, there is provided a simulator comprising a display monitor for displaying a moving character and a fixed character in a pseudo-three-dimensional space on a display monitor screen, a control device manipulatable by a player, detecting means for detecting a control action produced by the control device, calculating means for calculating a position on the display monitor screen of the moving character based on a detected signal from the detecting means, and an apparatus for calculating a distance between the moving character and the fixed character. The apparatus comprises first means for identifying a polygon containing a point of planar coordinates representing the position of the moving character calculated by the calculating means, and second means for calculating a distance between the moving character and the polygon which has been identified by the first means. The display monitor displays a moving character and a fixed character in the pseudo-three-dimensional space on the display monitor screen. The calculating means calculates a position on the display monitor screen of the moving character based on a detected signal from the detecting means. The first means identifies a polygon containing a point of planar coordinates representing the position of the moving character calculated by the calculating means, and the second means calculates a distance between the moving character and the polygon which has been identified by the first means.
The moving character comprises a flight object, and the control unit varies a height of the flight object in the pseudo-three-dimensional space on the display monitor screen.
According to yet still another aspect of the present invention, there is provided a method of calculating a distance between a character movably displayed in a pseudo-three-dimensional space on a display monitor screen and a polygon model composed of a plurality of polygons displayed in the pseudo-three-dimensional space on the display monitor screen. The method comprises the steps of establishing a hypothetical plane in the pseudo-three-dimensional space and identifying one of the polygons which is positioned on the periphery of or within a polygonal shape onto which the character is projected when the character and the polygons of the polygon model are projected onto the hypothetical plane, and calculating a distance between the identified one of the polygons and the character. A hypothetical plane is established in the pseudo-three-dimensional space and one of the polygons which is positioned on the periphery of or within a polygon shape onto which the character is projected is identified when the character and the polygons of the polygon model are projected onto the hypothetical plane. A distance between the identified one of the polygons and the character is calculated.
According to a further aspect of the present invention, there is provided an apparatus for calculating a distance between a character movably displayed in a pseudo-three-dimensional space on a display monitor screen and a polygon model composed of a plurality of polygons displayed in the pseudo-three-dimensional space on the display monitor screen. The apparatus comprises polygon identifying means for establishing a hypothetical plane in the pseudo-three-dimensional space and identifying one of the polygons which is positioned on the periphery of or within a polygonal shape onto which the character is projected when the character and the polygons of the polygon model are projected onto the hypothetical plane, and distance calculating means for calculating a distance between the one of the polygons which has been identified by the polygon identifying means and the character. The polygon identifying means establishes a hypothetical plane in the pseudo-three-dimensional space and identifies one of the polygons which is positioned on the periphery of or within a polygonal shape onto which the character is projected when the character and the polygons of the polygon model are projected onto the hypothetical plane. The distance calculating means calculates a distance between the one of the polygons which has been identified by the polygon identifying means and the character.
According to a still further aspect of the present invention, there is provided a simulator comprising a display monitor visually observable by a player, display control means for displaying on the display monitor a character movably in a pseudo-three-dimensional space and a polygon model composed of a plurality of polygons in the pseudo-three-dimensional space, as viewed from a predetermined viewpoint, a control device manipulatable by the player, detecting means for detecting a control action produced by the control device, calculating means for calculating a position on the display monitor screen of the moving character based on a detected signal from the detecting means, and an apparatus for calculating a distance between the character and the polygon model. The apparatus comprises polygon identifying means for establishing a hypothetical plane in the pseudo-three-dimensional space and identifying one of the polygons which is positioned on the periphery of or within a polygonal shape onto which the character is projected when the character and the polygons of the polygon model are projected onto the hypothetical plane, distance calculating means for calculating a distance between the one of the polygons which has been identified by the polygon identifying means and the character, and contact decision means for deciding whether the character and the polygon model has contacted each other based on the distance calculated by the distance calculating means. The polygon identifying means establishes a hypothetical plane in the pseudo-three-dimensional space and identifying one of the polygons which is positioned on the periphery of or within a polygonal shape onto which the character is projected when the character and the polygons of the polygon model and projected onto the hypothetical plane. The distance calculating means calculates a distance between the one of the polygons which has been identified by the polygon identifying means and the character. The contact decision means decides whether the character and the polygon model has contacted each other based on the distance calculated by the distance calculating means.
The display control means displays a contact-indicating image on the display monitor when the character and the polygon model has contacted each other as decided by the contact decision means.
According to a yet still further aspect of the present invention, there is provided a method of applying a polygon which represents a mark to a plane of a polygon which represents a character displayed in a pseudo-three-dimensional space on a display monitor screen, using a rotation matrix. The method comprises the steps of determining a normal vector within is normal to the plane of the polygon at a predetermined position thereon, determining a first vector contained in the plane of the polygon perpendicularly to the normal vector, determining a second vector contained in the plane of the polygon perpendicularly to both the normal vector and the first vector, and determining the rotation matrix from the normal matrix, the first matrix, and the second matrix. A normal vector which is normal to the plane of the polygon at a predetermined position thereon is determined. Then, a first vector contained in the plane of the polygon perpendicularly to the normal vector is determined, and a second vector contained in the plane of the polygon perpendicularly to both the normal vector and the first vector is determined. Finally, the rotation matrix is determined from the normal matrix, the first matrix, and the second matrix.
In the step of determining a first vector, a first vector (Xx, Xy, Xz) is determined as:
Xx=Bxxe2x88x92Ax,
Xy=Byxe2x88x92Ay,
Xz=Bzxe2x88x92Az
where (Ax, Ay, Az), (Bx, By, Bz) represent two arbitrary points, respectively, on the plane of the polygon.
The two arbitrary points comprise two arbitrary vertexes, respectively, of the polygon.
In the step of determining a second vector, a second vector (Zx, Zy, Zz) is determined as:
Zx=Xyxc3x97nzxe2x88x92Xzxc3x97ny,
Zy=Xzxc3x97nxxe2x88x92Xzxc3x97nz,
Zz=Xxxc3x97nyxe2x88x92Xyxc3x97nx
where Xx, Xy, Xz represent the first vector, and nx, ny, nz represent the normal vector.
The rotation matrix is determined as:   "AutoLeftMatch"      [                                        X            x                                                n            x                                                Z            x                                                            X            y                                                n            y                                                Z            y                                                            X            z                                                n            z                                                Z            z                                ]  
The character comprises a fixed character, and a moving character is displayed in the pseudo-three-dimensional space. The mark is associated with the moving character. For example, the mark comprises a shadow of the moving character.
The polygon comprises one of a plurality of polygons which make up the fixed character, and contains a point of planar coordinates representing the position of the moving character. Prior to determining the normal vector, the polygon is identified.
According to another aspect of the present invention, there is provided an apparatus for applying a polygon which represents a mark to a plane of a polygon which represents a character displayed in a pseudo-three-dimensional space on a display monitor screen, using a rotation matrix. The apparatus comprises first means for determining a normal vector which is normal to the plane of the polygon at a predetermined position thereon, second means for determining a first vector contained in the plane of the polygon perpendicularly to the normal vector, third means for determining a second vector contained in the plane of the polygon perpendicularly to both the normal vector and the first vector, and fourth means for determining the rotation matrix from the normal matrix, the first matrix, and the second matrix. The first means determines a normal vector which is normal to the plane of the polygon at a predetermined position thereon. The second means determines a first vector contained in the plane of the polygon perpendicularly to the normal vector. The third means determines a second vector contained in the plane of the polygon perpendicularly to both the normal vector and the first vector. The fourth means determines the rotation matrix from the normal matrix, the first matrix, and the second matrix. The character comprises a fixed character, and the apparatus further comprises means for displaying a moving character in the pseudo-three-dimensional space. The mark is associated with the moving character.
According to still another aspect of the present invention, there is provided a simulator comprising a display monitor for displaying a moving character and a fixed character in a pseudo-three-dimensional space on a display monitor screen, a control device manipulatable by a player, detecting means for detecting a control action produced by the control device, calculating means for calculating a position on the display monitor screen of the moving character based on a detected signal from the detecting means, and an apparatus for applying a polygon to a plane of a polygon which represents the fixed character, using a rotation matrix. The apparatus comprises first means for determining a normal vector which is normal to the plane of the polygon at a predetermined position thereon, second means for determining a first vector contained in the plane of the polygon perpendicularly to the normal vector, third means for determining a second vector contained in the plane of the polygon perpendicularly to both the normal vector and the first vector, and fourth means for determining the rotation matrix from the normal matrix, the first matrix, and the second matrix. The first means determines a normal vector which is normal to the plane of the polygon at a predetermined position thereon. The second means determines a first vector contained in the plane of the polygon perpendicularly to the normal vector. The third means determines a second vector contained in the plane of the polygon perpendicularly to both the normal vector and the first vector. The fourth means determines the rotation matrix from the normal matrix, the first matrix, and the second matrix. The moving character comprises a flight object, and the polygon applied to the plane of the polygon comprises a shadow associated with the flight object.
The above and other objects, features, and advantages of the present invention will become apparent from the following description when taken in conjunction with the accompanying drawings which illustrate preferred embodiments of the present invention by way of example.